# Q. What is this file?
# A. This file contains options which allow you to configure your multiworld experience while allowing
#    others to play how they want as well.
#
# Q. How do I use it?
# A. The options in this file are weighted. This means the higher number you assign to a value, the
#    more chances you have for that option to be chosen. For example, an option like this:
#
#    map_shuffle:
#      on: 5
#      off: 15
#
#    Means you have 5 chances for map shuffle to occur, and 15 chances for map shuffle to be turned
#    off.
#
# Q. I've never seen a file like this before. What characters am I allowed to use?
# A. This is a .yaml file. You are allowed to use most characters.
#    To test if your yaml is valid or not, you can use this website:
#        http://www.yamllint.com/
#    You can also verify that your Archipelago options are valid at this site:
#        https://archipelago.gg/check

# Your name in-game, limited to 16 characters.
#     {player} will be replaced with the player's slot number.
#     {PLAYER} will be replaced with the player's slot number, if that slot number is greater than 1.
#     {number} will be replaced with the counter value of the name.
#     {NUMBER} will be replaced with the counter value of the name, if the counter value is greater than 1.
name: Player{number}

# Used to describe your yaml. Useful if you have multiple files.
description: Default La-Mulana 2 Template

game: La-Mulana 2
requires:
  version: 0.6.7 # Version of Archipelago required for this yaml to work as expected.
  game:
    La-Mulana 2: 0.9.2 # Version of the world required for this yaml to work as expected.

La-Mulana 2:
  ################
  # Game Options #
  ################
  progression_balancing:
    # A system that can move progression earlier, to try and prevent the player from getting stuck and bored early.
    # 
    # A lower setting means more getting stuck. A higher setting means less getting stuck.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 99
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-99: 0 # random value between 0 and 99
    disabled: 0 # equivalent to 0
    normal: 50 # equivalent to 50
    extreme: 0 # equivalent to 99

  accessibility:
    # Set rules for reachability of your items/locations.
    # 
    # **Full:** ensure everything can be reached and acquired.
    # 
    # **Minimal:** ensure what is needed to reach your goal can be acquired.
    # 
    # **Items:** ensure all logically relevant items can be acquired. Some items, such as keys, may be self-locking, and
    # some locations may be inaccessible.
    full: 0
    minimal: 0
    items: 50

  goal:
    # Victory condition for the seed.
    # - beat_the_game: Defeat the Ninth Child and escape (default, vanilla goal).
    # - beat_the_dlc: Defeat the final boss in the in the Tower of Oannes DLC.
    #   Requires Oannesanity.
    # - glossary_hunt: Collect a set number of AP shuffled Glossary entries. 
    #   You will start off with the Ruins Encyclopedia which tracks your progress.
    #   Requires at least one Glossanity category to be enabled.
    # If the chosen goal's prerequisites aren't met, falls back to beat_the_game.
    beat_the_game: 50
    beat_the_dlc: 0
    glossary_hunt: 0

  glossary_hunt_count:
    # Number of Glossary entries required to win when the goal is glossary_hunt.
    # The maximum value is automatically lowered to the number of Glossary entries
    # shuffled based on the enabled Glossanity options (and Oannesanity, for DLC glossary)
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 244
    50: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-244: 0 # random value between 1 and 244

  starting_area:
    # Starting area for the player.
    # Some areas require specific entrance randomizer options to be enabled. If the chosen area's
    # prerequisites aren't met, a uniform re-roll is performed across the remaining valid areas
    # (a warning is logged); if no valid options remain, falls back to Village of Departure.
    # 
    # Requires vertical_entrances: icefire_treetop.
    # Requires gate_entrances: divine_fortress, shrine_of_the_frost_giants, takamagahara_shrine,
    # valhalla, dark_star_lords_mausoleum, ancient_chaos, hall_of_malice.
    village_of_departure: 50
    roots_of_yggdrasil: 0
    annwfn: 0
    immortal_battlefield: 0
    icefire_treetop: 0
    divine_fortress: 0
    shrine_of_the_frost_giants: 0
    takamagahara_shrine: 0
    valhalla: 0
    dark_star_lords_mausoleum: 0
    ancient_chaos: 0
    hall_of_malice: 0

  starting_weapon:
    # Starting weapon for the player.
    leather_whip: 50
    knife: 0
    rapier: 0
    axe: 0
    katana: 0
    shuriken: 0
    rolling_shuriken: 0
    earth_spear: 0
    flare: 0
    caltrops: 0
    chakram: 0
    bomb: 0
    pistol: 0
    claydoll_suit: 0

  random_grail:
    # Randomize the Holy Grail.
    starting: 50
    shuffled: 0

  random_scanner:
    # Randomize the Hand Scanner.
    starting: 0
    shuffled: 50

  random_codices:
    # Randomize the Codices.
    starting: 0
    shuffled: 50

  random_fdc:
    # Randomize the Future Development Company software.
    starting: 50
    shuffled: 0

  random_ring:
    # Randomize the Ring.
    starting: 0
    shuffled: 50

  random_shell_horn:
    # Randomize the Shell Horn.
    starting: 0
    shuffled: 50

  random_maps_software:
    # Randomize Maps & Mapping Software.
    starting: 0
    shuffled: 50

  mantra_placement:
    # random: Mantras can be anywhere.
    # only_murals: Mantras are restricted to mural locations.
    # original: Mantras stay in their vanilla mural locations.
    original: 0
    only_murals: 0
    shuffled: 50

  shop_placement:
    # random: All shop items are shuffled.
    # at_least_one: Each shop is guaranteed at least one non-ammo/weight item.
    # original: Shops keep vanilla items.
    # Note: If [original] is selected, FDC, Codices and Hand Scanner cannot not be randomized.
    original: 0
    at_least_one: 0
    shuffled: 50

  random_research:
    # Add all Kosugi Research Papers into the AP item pool.
    # If disabled, they will be static untracked locations in-game.
    'false': 0
    'true': 50

  remove_research:
    # Remove Kosugi Research Notes from the item pool.
    # Any remaining research item will be converted to filler.
    'false': 50
    'true': 0

  replace_research_with_orbs:
    # Replace X Kosugi Research Papers with additional Sacred Orbs (max. 10)
    # Requires Random Research to be enabled (otherwise research isn't in the pool)
    # The remaining research items stay in the pool as normal.
    # Remove Research Notes will not remove Sacred Orbs; only remaining research items.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 10
    0: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-10: 0 # random value between 0 and 10

  remove_maps:
    # Removes maps from the item pool.
    # This means that 16 filler items will take their place.
    'false': 50
    'true': 0

  required_skulls:
    # Number of Crystal Skulls required for Nibiru Dissonance.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 12
    6: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-12: 0 # random value between 1 and 12

  remove_excess_skulls:
    # Remove Excess Crystal Skulls from the item pool.
    'false': 50
    'true': 0

  random_dissonance:
    # All 6 dissonance locations are converted into chests and turns the Beherit into 7 progressive items.
    # If true, sealing the Corridor of Blood requires all 7 Progressive Beherit in addition to the set GuardianKills.
    # If false, sealing the Corridor of Blood requires beating Anu and absorbing all dissonance from their original locations.
    # (Effectively requires beating at least Vritra, Aten-Ra, Anu, Echidna and Hel based on just this flag).
    'false': 0
    'true': 50

  costumesanity:
    # Add the costume chests (4+1) and their correlating costumes into the pool.
    # At the start of the seed you will not have your costumes available.
    # The chests are openable by default and do not require a key.
    # This option will impact logic relating to glitches and DLC. 
    # Note: DLC Item is only shuffled if Oannesanity is turned on.
    'false': 50
    'true': 0

  potsanity_low_value:
    # Potsanity: add Low Value item pots as checks. (144 pots)
    # 39 x 1 Weight Pots
    # 74 x 10 Coins Pots
    # 31 x 30 Coins Pots
    'false': 50
    'true': 0

  potsanity_high_value:
    # Potsanity: add High Value item pots as checks. (24 pots)
    # 8 x 50 Coins Pots
    # 7 x 80 Coins Pots
    # 9 x 100 Coins Pots
    'false': 50
    'true': 0

  potsanity_shuriken:
    # Potsanity: add all Shuriken ammo pots as checks. (23 pots)
    'false': 50
    'true': 0

  potsanity_rolling_shuriken:
    # Potsanity: add all Rolling Shuriken ammo pots as checks. (16 pots)
    'false': 50
    'true': 0

  potsanity_earth_spear:
    # Potsanity: add all Earth Spear ammo pots as checks. (23 pots)
    'false': 50
    'true': 0

  potsanity_flare:
    # Potsanity: add all Flare ammo pots as checks. (24 pots)
    'false': 50
    'true': 0

  potsanity_caltrops:
    # Potsanity: add all Caltrops ammo pots as checks. (17 pots)
    'false': 50
    'true': 0

  potsanity_chakram:
    # Potsanity: add all Chakram ammo pots as checks. (10 pots)
    'false': 50
    'true': 0

  potsanity_bomb:
    # Potsanity: add all Bomb ammo pots as checks. (26 pots)
    'false': 50
    'true': 0

  local_potsanity_percentage:
    # The percentage of Potsanity pot filler forced into your own world.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 100
    random: 50
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-100: 0 # random value between 0 and 100

  glossanity_freestanding:
    # Glossanity: add all Freestanding Glossary entries. (50+5 entries)
    # Note: DLC Glossary is only shuffled if Oannesanity is turned on.
    'false': 50
    'true': 0

  glossanity_scannable:
    # Glossanity: add all Scannable Glossary entries that require Hand Scanner. (27 entries)
    'false': 50
    'true': 0

  glossanity_npc:
    # Glossanity: add all NPC Glossary entries as checks. (78 entries)
    'false': 50
    'true': 0

  glossanity_enemy:
    # Glossanity: add all Enemy Glossary entries as checks. (77+7 entries)
    # Note: DLC Glossary is only shuffled if Oannesanity is turned on.
    'false': 50
    'true': 0

  local_glossanity_percentage:
    # The percentage of Glossanity entries forced into your own world.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 100
    random: 50
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-100: 0 # random value between 0 and 100

  oannesanity:
    # DLC Required. Enabling this may add the following checks based off of other options:
    # - 1 Item Chest (Comes with this option)
    # - 5 Freestanding Glossary (Glossanity - Freestanding Required)
    # - 7 Enemy Glossary (Glossanity - Enemy Required)
    # - 1 Costume Chest (Costumesanity Required)
    # - 12 Entrance Pairs (Include DLC Entrances Required)
    'false': 50
    'true': 0

  required_guardians:
    # Only applies if RandomDissonance is on.
    # Number of Guardians required to be defeated to seal the Corridor of Blood.
    # Note: the Spiral Boat soul gate value will be adjusted to be at or below this value.
    # This way, you will always be able to reach the final area without requiring additional guardians.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 9
    5: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-9: 0 # random value between 0 and 9

  guardian_specific_ankhs:
    # Makes Ankhs only usable at their designated bosses.
    'false': 0
    'true': 50

  logic_difficulty:
    # Logic difficulty setting.
    # - normal: intuitive logic - certain HP / damage thresholds required for (mini-)bosses.
    # - tricky: includes some shenanigans such as precise jumps, janky hitboxes or damage boosting.
    # - minimal: in addition to tricky logic, sets minimal combat requirements for (mini-)bosses.
    normal: 50
    tricky: 0
    minimal: 0

  game_difficulty:
    # In-game difficulty.
    # - normal: default game difficulty.
    # - hard: difficulty level +3 (normally toggled by scanning a specific tablet twice).
    # Note: Logic is unaffected — this is a QoL (?) feature for those wanting to play on Hard Mode.
    normal: 50
    hard: 0

  echidna_difficulty:
    # The Boss Echidna phase difficulty.
    child: 0
    teenager: 0
    young_adult: 0
    adult: 0
    normal: 50

  costume_clip:
    # Logically require using a glitch called Costume Clip.
    # Costume Clip: jump and pause on the same frame.
    # Once you hear the jump SFX as you open the menu, switch costumes.
    # This allows you to clip into objects like pots which can push you through walls.
    'false': 50
    'true': 0

  require_fdc:
    # Logically require Future Development Company for accessing backside regions.
    # (This does not include Icefire Treetop or Immortal Battlefield).
    'false': 0
    'true': 50

  dlc_item_logic:
    # Logically require making use of the DLC reward.
    # When enabled, the DLC item is assumed as collected from the start, unless it is
    # randomized by Costumesanity, in which case it must be obtained first.
    # When disabled, the DLC item is never considered in logic.
    'false': 50
    'true': 0

  life_sigil_to_awaken_hom:
    # Logically require Life Sigil to Awaken Hall of Malice.
    # If enabled, will consider access to the grail point in logic.
    'false': 0
    'true': 50

  remove_icefire_treetop_statue:
    # Remove Icefire Treetop Statue for more accessibility.
    'false': 0
    'true': 50

  random_cursed_chests:
    # Randomize Cursed Chests
    # Vanilla:
    # - FlameTorcChest (Surtr)
    # - GiantsFluteChest (Echidna)
    # - DestinyTabletChest (Anzu)
    # - PowerBandChest (Belial)
    'false': 0
    'true': 50

  cursed_chests:
    # Number of Cursed Chests to randomize (only used when Random Cursed Chests is on).
    # Base game has 86 regular chests, boosted to 92 through various sanity settings.
    # The max is automatically clamped down if set to higher than the actual amount of chests.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 92
    4: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-92: 0 # random value between 0 and 92

  horizontal_entrances:
    # Shuffle horizontal entrances.
    'false': 50
    'true': 0

  vertical_entrances:
    # Shuffle vertical entrances.
    'false': 50
    'true': 0

  gate_entrances:
    # Shuffle gate entrances.
    'false': 50
    'true': 0

  unique_transitions:
    # Shuffle unique transitions.
    # (e.g. Annwfn -> Immortal Battlefield / Takamagahara Shrine -> Heaven's Labyrinth)
    'false': 50
    'true': 0

  full_random_entrances:
    # Mix the enabled randomized entrances across area types.
    'false': 50
    'true': 0

  include_dlc_entrances:
    # Requires Oannesanity toggled on. Include DLC entrances in the entrance pool.
    # Note: Combat logic to survive in the DLC areas is still minimal.
    'false': 50
    'true': 0

  prevent_area_loops:
    # Prevent entrance randomization from pairing exits within the same area.
    # May increase fill success rate if you're having issues with generation.
    'false': 50
    'true': 0

  soul_gate_entrances:
    # Shuffle [1,2,3,5] soul gate entrances with each other.
    # Note: does not mix with regular the above regular entrances and transitions.
    'false': 50
    'true': 0

  include_nine_soul_gates:
    # Include the two [9] soul gates (HoM to IB Boat) in the Soul Gate pool.
    # Can work with Soul Gate Entrances and Random Soul Gate Values separately.
    # Note: [9] soul gate is floored to be reachable depending on player set
    # RequiredGuardians value if RandomDissonance is enabled.
    'false': 50
    'true': 0

  random_soul_gate_value:
    # How the soul gate costs are handed out.
    # Standard: every gate keeps its vanilla cost.
    # Shuffled: vanilla costs are shuffled between the Soul Gates.
    # Randomized: each gate pair independently rolls any of [1,2,3,5,9].
    standard: 50
    shuffled: 0
    randomized: 0

  auto_scan:
    # Automatically scan tablets when read.
    # Requires Hand Scanner in logic if disabled.
    'false': 0
    'true': 50

  auto_skulls:
    # Auto-Place Crystal Skulls in Nibiru.
    'false': 0
    'true': 50

  greedy_charon:
    # AP coin grants can be sent by another player at any point, 
    # which may not be ideal in synced playthroughs. 
    # Turning this on will make Charon take all your coins as payment, 
    # so you don't get bricked with additional coins while trying to get to Charon.
    'false': 0
    'true': 50

  persistent_inventory:
    # Keep everything you have locally collected after a death or a save load.
    # Normally only AP items get regranted upon loading; this option extends to ALL items.
    # In other words, turning this on keeps your inventory fully synced with AP's CollectionState.
    # Own world items are silently recovered and checked locations remain checked.
    # Note: Puzzle progression flags will not persist.
    'false': 50
    'true': 0

  starting_money:
    # Starting money amount.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 999
    200: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-999: 0 # random value between 0 and 999

  starting_weights:
    # Starting weights amount.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 100
    10: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-100: 0 # random value between 0 and 100

  item_chest_color:
    # Color for item chests.
    blue: 50
    turquoise: 0
    red: 0
    pink: 0
    yellow: 0

  filler_chest_color:
    # Color for filler chests.
    blue: 0
    turquoise: 0
    red: 0
    pink: 0
    yellow: 50

  ap_chest_color:
    # Color for AP chests.
    blue: 0
    turquoise: 50
    red: 0
    pink: 0
    yellow: 0

  write_seed_file:
    # Writes seed.lm2r (standalone compatible) and a seed.lm2ap
    # For those who wish to play solo seeds outside of AP.
    # AP generated seeds require both files to play the seed solo offline.
    # Standalone generated seeds can also be played (will use the original
    # filler and ankh jewel system).
    # Seed files need to be placed in La-Mulana 2/LaMulana2Randomizer/Seed
    'false': 50
    'true': 0

  death_link:
    # When you die, everyone who enabled death link dies. Of course, the reverse is true too.
    'false': 50
    'true': 0

  ###########################
  # Item & Location Options #
  ###########################
  local_items:
    # Forces these items to be in their native world.
    []

  non_local_items:
    # Forces these items to be outside their native world.
    []

  start_inventory:
    # Start with the specified amount of these items. Example: "Bomb: 1"
    {}

  start_hints:
    # Start with these item's locations prefilled into the ``!hint`` command.
    []

  start_location_hints:
    # Start with these locations and their item prefilled into the ``!hint`` command.
    []

  exclude_locations:
    # Prevent these locations from having an important item.
    []

  priority_locations:
    # Prevent these locations from having an unimportant item.
    []

  item_links:
    # Share part of your item pool with other players.
    []

  plando_items:
    # Generic items plando.
    []
